iT邦幫忙

2026 iThome 鐵人賽

DAY 6
0
AI Engineering

生成式 AI 的 30 個定律:用跨模型小實驗理解可靠 AI 的工程原則系列 第 20

第 20 律:AI 再看一次,究竟驗證了什麼?

  • 分享至 

  • xImage
  •  

昨天談立場。今天談驗證。

模型寫了一段程式。你叫它「再檢查一次」。它說「我檢查過了,沒問題」。這句話的依據是什麼?

定律

我目前把它寫成這樣:

產生候選成果與建立其符合要求的依據,是不同功能;同一個系統可以兼任,但完成其中一項不自動保證另一項。

兩件事:做出東西,和證明東西符合要求。可以是同一個系統做。但做完第一件,不代表第二件自動完成。

它也不是在說一定要兩個模型、一個寫一個驗。未來的單一模型可以同時產出成果和可以機械核對的證明。自查勝過外部工具也可以成立。本律比較的是證據的效力,不把架構分離當成必要條件。

還有一條老規矩:沒跑過的實驗不能寫得像有結果;小樣本不能說成普遍現象。

今晚做了什麼

材料

三個 Python 函式,各附說明文字:

函式 真值 缺陷
last_n(xs, n) 有缺陷 n 為 0 時 xs[-0:] 等於 xs[0:],回整串不是空的
clamp(x, lo, hi) 正確
median(xs) 有缺陷 偶數長度沒取中間兩數平均

四種條件,程式碼和問題相同,差在多給什麼:

條件 多給什麼
D 直接判斷
S 泛泛自查 一句「請先仔細自我檢查一遍」
C 依清單 四項檢查清單:邊界值、奇偶、說明逐句對照、切片在 0 的行為
T 外部測試 七條 pytest 結果,兩條 FAILED

模型是 Claude Haiku 4.5,每條件三次,共十二次,每次判三個函式。

量什麼

每函式一行,正確或有缺陷。兩個有缺陷的抓到幾個;那個正確的有沒有被誤判成有缺陷。程式判。

事先寫下的預期

T 的依據最強,預期辨識率最高。D 和 S 沒差,就示範了「泛泛再看一次不等於驗證」。C 接近 T,就示範了清單這種可對照的依據有效。

也事先寫了:如果 D 已經 6 個全抓到,如實報告,比較證據效力,不比誰贏。

材料、判準、預期,在第一次呼叫之前提交進版本控制。

結果

條件 缺陷辨識 誤報
D 直接判斷 6/6 0/3
S 泛泛自查 6/6 0/3
C 依清單 6/6 0/3
T 外部測試 6/6 0/3

十二次,36 個判定全對。每次都指出 -0 切片和偶數中位數,clamp 沒有一次被冤枉。

落在事先寫的「D 已到頂」。四種依據的差異,在這三個函式上量不出來。

同樣的結論,不同的依據

四組的判定一模一樣。但四組的依據不一樣。這是今晚唯一值得看的東西,雖然它不在數字裡。

D 組說 last_n 有缺陷,依據是什麼?是模型讀了那行程式碼,想到 -0 的行為。這次它想對了。但如果它想錯了,你從輸出看不出來。

T 組說 last_n 有缺陷,依據是什麼?是一條測試:last_n([1,2,3], 0) 應該是空的,實際回傳 [1,2,3]。這條測試你可以自己跑。它對不對,跟模型無關。

兩組的結論相同。第一組的依據住在模型裡,第二組的依據住在外面。本律說的「建立符合要求的依據」,指的是第二種。第一種是判斷,不是依據。

今晚判斷剛好都對,所以看不出差別。判斷錯的那天才看得出來。

為什麼今晚太容易

xs[-0:] 和偶數中位數,是教科書等級的陷阱。模型幾乎肯定在訓練資料裡見過幾百次。它不需要「驗證」,它認得。

隱蔽一點的缺陷,例如浮點數累加順序、時區邊界、只在特定輸入長度出現的問題,四種條件可能就分開了。本次沒測。

還有,T 組的 pytest 結果是我手寫的文字,不是真的跑出來的。

三件這次不能往外推的事

第一,三個函式、兩個典型缺陷、每條件三次。

第二,天花板。 四條件差異未量到,不代表沒有。

第三,依據的差異沒有被量化。 我只能指出它,沒有設計一個量它的方法。

這條律怎麼被推翻

這條律是關於「不自動保證」的陳述。一個反例就夠:找到一個系統,它產出成果時就同時附上可以獨立核對的證明,而且那個證明總是對的。今晚的 D 組沒有附證明,只附了判斷。

另一條路:如果 D 明顯低於 T,示範了依據效力的差別。今晚沒有,全部到頂。

下一次要模型「再檢查一次」時多做的一件事

要它給一個你能自己跑的東西。

不是「檢查過了」。是一條測試、一個輸入加預期輸出、一個你不需要相信它也能核對的東西。今晚 T 組的兩條 FAILED 就是這種東西。D 組的判斷也對,但它對的方式你驗不了。

紀錄表這次加的是一欄:「依據我能不能自己跑」。

本文的協作紀錄是:三個函式、四份提示詞、判定程式與預期在任何一次呼叫之前提交,之後未修改;十二次輸出逐字保留,判定由程式執行;天花板效應如實記錄;pytest 結果為手寫文字非真實執行。文章由 Claude 根據作者整理的寫作規則起草,作者尚未核對。這篇沒有做 Day 2 那種六個審查者的檢查。

下一篇談你說的「完成」,和 AI 說的「完成」一樣嗎。


上一篇
第 19 律:AI 可以同意你,但同意不是證據
下一篇
第 21 律:你說的「完成」,和 AI 說的「完成」一樣嗎?
系列文
生成式 AI 的 30 個定律:用跨模型小實驗理解可靠 AI 的工程原則29
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言